package com.xjl.shujujiegou;

/**
 * @描述： 用固定数组实现栈的入栈和出栈
 * @作者： 许JIAN林
 */
public class ArrStack {
    private int index;
    private int[] arr;

    public ArrStack(int len){
        arr = new int[len];
        index= 0;
    }
    //入栈
    public void  push(int num) throws Exception {
        if (index < arr.length){
            arr[index++] = num;
        } else {
            throw new Exception("栈已经满了");
        }

    }
    //出栈
    public int pop() throws Exception {
        if (index != 0){
            return arr[--index];
        } else {
            throw new Exception("栈已经为空了");
        }
    }
    //放回栈顶元素
    public Integer peek(){
        if (index == 0){
            return null;
        }
        return arr[index -1];
    }

}
